<?php
/**
 * @APP@
 *
 * PHP versions 5
 *
 * @category   BEAR
 * @package    App
 * @subpackage App_Form
 * @author     $Author: anonymous $ <anonymous@example.com>
 * @version    SVN: Release: $Id:$
 */

/**
 * ログインフォーム
 *
 * @category   BEAR
 * @package    App
 * @subpackage App_Form
 * @author     $Author: anonymous $ <anonymous@example.com>
 * @copyright  anonymous All rights reserved.
 * @version    SVN: Release: $Id:$
 */
class App_Form_Login extends BEAR_Base
{

	/**
	 * インジェクト
	 *
	 */
    public function onInject()
	{
	   $this->_form = array('formName' => 'loginForm');
	}

    /**
     * ログインフォーム
     *
     * @return HTML_Quickform
     */
    public function build()
    {
        $form = BEAR::dependency('BEAR_Form', $this->_form, false);
        // 追加された順に要素が表示されます。
        $form->addElement('header', '', 'ログイン');
        $form->addElement('text', 'id', 'ID:');
        $form->addElement('password', 'password', 'パスワード');
        $form->addElement('submit', '_submit1', 'ログイン');
        $form->addElement('static', '', '', '<a href="/user/create.php">サインアップする</a>');
        $form->addFormRule(array(__CLASS__, 'login'));
        $form->addRule('id', 'IDの入力が必要です', 'required');
        $form->addRule('password', 'パスワードの入力が必要です', 'required');
        return $form;
    }


    /**
     * ログインフォームルール
     *
     * @param array $submit
     *
     * @return mixed
     */
    public static function login(array $submit, $files)
    {
        $login = BEAR::dependency('BEAR_Resource')->read(array('uri' => 'User/Login', 'values'=> $submit))->getBody();
        $result = ($login) ? true : array('id' => "ログイン失敗しました", 'password' => '');
        return $result;
    }
}
